package utils

import (
	"fmt"
	"math/rand"
)

func GenerateRandomMAC() (string, error) {
	mac := make([]byte, 6)
	_, err := rand.Read(mac)
	if err != nil {
		return "", err
	}

	// 设置 MAC 地址的特定位，确保它是本地管理地址（LAA）
	mac[0] = (mac[0] | 0x02) & 0xFE // 确保是本地地址，且不是多播地址

	return fmt.Sprintf("%02X:%02X:%02X:%02X:%02X:%02X",
		mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]), nil
}
